1. Technical Field
The invention relates to electronic documents. More particularly, the invention relates to marked electronic documents.
2. Description of the Prior Art
A marked document is any electronic document that allows some form of processing over and above generic (i.e ASCII) text. A simple example of a marked document is a document that includes bold or italic text. In such case, the text that appears bold or italic is marked as bold or italic. However, there are other functions that document markings may perform. For example, a document marking may create style sheets or headings or footers. A further example of a content element can include an invisible time and date stamp. Thus, a set of markings can either provide stylistic elements (such as bold or italic text) or it can provide other content elements (such as headers or footers). One disadvantage of marked documents, such as those documents written in the hypertext markup language (HTML) or standardized general markup language (SGML), is that the meaning and/or function markings in marked portions of the document is not often readily discernible, even to a skilled person, except to the author thereof. Further, there is no way for a person reviewing such documents to develop insight and understanding of the document structure and function, even with some knowledge of the document's general purpose, absent some rudimentary understanding of the generic meaning of the various tags used in the document. That is, the purpose and rationale behind the various marking in the document is generally not self explanatory, nor is there an explanation of the proper use and function of the various marking for one who is unskilled in the use of such markings.
While intelligent tutoring systems are known (see Wenger et al), such systems are concerned primarily with the general domain of tutoring, where emphasis is placed upon authoring, and where the focus is on the preparation and presentation of lessons or modules to facilitate learning. Such electronic textbooks are not helpful in the context of performance support, e.g. where a marked document must be reviewed and understood by a person without previous exposure to the document and, perhaps, without any experience in the syntax and meaning of markings contained within the document.
Code profilers are also known, but the techniques embodied in such systems function in accordance with known syntactic rules. Such systems are not interactive, and are thus of little interest in connection with providing a tutorial environment. Further, such systems do not provide performance support.
Such techniques as "tool tips" or "balloon help" provide areas within a display that are sensitive to a mouse-over gesture, and that provide some additional information responsive thereto. However, such techniques merely provide an statement that is embedded in the application in use ahead of time, i.e. when the application is written. Such techniques do not provide a true sense of interactivity, nor is there any provision for performance support. Likewise, the provision of a status bar, for example which contains dictionary information, is not useful when a document marking is encountered because merely providing access to a reference text does not interactively instruct a person about the document itself.
It would be advantageous to provide a mechanism for revealing the marked structure of a document, e.g. a document written in HTML, such that a person reviewing the document is instructed in the operation and recreation of the document from a casual on-screen review of the document.